Scripting languages are programming languages that support the writing of scripts. Scripts generally refer to programs written for a software environment to automate the execution of tasks. Many business software applications, analytical software applications, etc. include features allowing business users to control the specific behavior of the application in certain situations using scripts composed in a scripting language. For example, software applications designed to enable application designers to create analysis applications and dashboards for Web browsers and mobile devices based on one or more underlying data sources can typically make use of scripting languages to enable a designer to link user interface features to data objects and other underlying data structures to provide dynamically updatable views on the data in these data objects and data structures. An important requirement for the scripting languages used in this manner is the ease of use for the target user group and their skills. In many cases, designers likely to use such an application may be business users who have a knowledge of an organization's business processes and a working but not an advanced knowledge of scripting or programming.
One option for the scripting language in such applications is the use of one or more standardized scripting languages, such as for example ECMAScript, Javascript (a dialect of ECMAScript), and the like. Standardized languages generally benefit from the “learning effect” of a large group of users and experts and the ready availability of classes, instructional materials, and the like. Additionally, as they are based on an official standard, the grammar, rules, etc. are generally universal such that scripts can be directly executed in a browser without additional processing and/or run on any server environment using one of many available runtime processors. Because preprocessing is not required, scripts prepared in a standardized scripting language such as ECMAScript can be easily debugged using the native debugger of the execution platform. Additionally, a user's investment in learning the language is generally not specific to a given application or suite of applications.
In other cases, the scripting language is proprietary (e.g. Visual Basic for Applications available from Microsoft Corp. of Redmond, Wash.), at least in part because proprietary languages can be specially designed for the requirements of the host application and can therefore be designed specifically to support editors and other functionality that are well adapted to the specific domain needs of an application or suite of applications. However, a proprietary language generally cannot be directly executed within a browser and therefore requires its own runtime or cross-compilation. Furthermore, the original script generally cannot be natively debugged on the execution platform. There is also no learning effect with a proprietary language that is comparable to that noted above for standardized languages.